var poly, map;
var equipamentos;
var iconeVerde = new google.maps.MarkerImage("../img/icons/fotoSensorVerde.png",null,null,null, new google.maps.Size(40,40));
var iconeAmarelo = new google.maps.MarkerImage("../img/icons/fotoSensorAmarelo.png",null,null,null, new google.maps.Size(40,40));
var iconeVermelho = new google.maps.MarkerImage("../img/icons/fotoSensorVermelho.png",null,null,null, new google.maps.Size(40,40));
var iconeAzul = new google.maps.MarkerImage("../img/icons/fotoSensorAzul.png",null,null,null, new google.maps.Size(40,40));
var iconePreto = new google.maps.MarkerImage("../img/icons/fotoSensorPreto.png",null,null,null, new google.maps.Size(40,40));
var markers = [];

var codigoInterval;
function obterEquipamentos()
{
	
	$.ajax(   {
			        url: 'equipamento_monitorMapaEquipamento',
			        type: "POST",
			        data : "",
			        contentType: 'application/json; charset=utf-8',
			        success: function(data) {
			            plotarEquipamentos(data.listaEquipamento);
			        },
			        error:function(){
			        	alert('Ocorreu um erro. Contate o administrador.');
			        }
			    }
			);
}

function plotarEquipamentos(equipamentos)
{
	limparMarkers();
	for (i=0;i<equipamentos.length;i++)
	{
		adicionarEquipamentoMapa(equipamentos[i]);
	}
	
}

function initialize() 
{  
   var inicio = new google.maps.LatLng(-3.717634,-38.541412);

  map = new google.maps.Map(document.getElementById("regiaoMap"), {
    zoom: 13,
    center: inicio,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });
  
  obterEquipamentos();
  
}

function adicionarEquipamentoMapa(equipamento) 
{

  var position = new google.maps.LatLng(equipamento.latitude,equipamento.longitude);
  
  if(equipamento.situacao == 1){
	  var icon = iconeVerde;
  }else if(equipamento.situacao == 2){
	  var icon = iconeAmarelo;
  }else if(equipamento.situacao == 3){
	  var icon = iconeVermelho;
  }else if(equipamento.situacao == 4){
	  var icon = iconeAzul;
  }else if(equipamento.situacao == 5){
	  var icon = iconePreto;
  }
  
  var marker = new google.maps.Marker({
    position: position,
    map: map,
    icon: icon,
    draggable: false
  });
  
  markers.push(marker);
  
  var info = new google.maps.InfoWindow({ 	  
 	  position:	position,
 	  content:'<b>'+equipamento.descricao+'</b><br>' + equipamento.endereco.enderecoCompleto
});

google.maps.event.addListener(marker, 'click', 
  function(evento){
		info.open(map);
  });

google.maps.event.addListener(marker, 'dblclick', 
		function(evento){
	visualizarAlertarMapa(equipamento.codigo);
});
  
google.maps.event.addListener(marker, 'mouseout', 
		  function(evento){
			  info.close();
		  });  
  
  
  marker.setTitle(equipamento.descricao);
}

function visualizarAlertarMapa(codigo)
{
	$('#divVisualizarAlertar').dialog('open');
	
	$.get("equipamento_visualizarAlertaEquipamento.action?equipamentoVisualizarAlerta.codigo=" + codigo,
		function (data)
		{
			$('#divVisualizarAlertar').html(data);
		}
	);
}

function atualizar()
{
	if($('#regiaoMap').length == 0){
		clearInterval(codigoInterval);
	}else
	{   
		obterEquipamentos();
	}
	
}

function limparMarkers()
{
	for(var i =0;i<markers.length;i++)
	{
		markers[i].setMap(null);
	}
	markers = [];
}